Many companies today rely on business intelligence systems to store and analyze data regarding their business processes. Such a business intelligence system may receive data regarding the business from any number of sources. For example, a business intelligence system may receive data regarding the company's employees from a payroll or human resources (HR) system. In another example, a business intelligence system may receive data regarding products manufactured and sold by the company from an enterprise resource planning (ERP) system. In a further example, a business intelligence system may receive data regarding a competitor's products, such as pricing information.
In addition to receiving and storing data regarding a company's operations, a business intelligence system may also include various utilities that use the data for purposes of driving business decisions, benchmarking, planning, and other functions. To this end, report generation plays an important role in allowing decision makers to quickly review and assess the various aspects of the business. For example, a sales report may allow a sales manager to determine which products are selling well, which members of the sales team are performing poorly, or how sales revenues compare to other time periods.
As a company expands geographically, collaboration between employees becomes increasingly important for the wellbeing of the company. Larger companies may have hundreds of offices scattered throughout the world with tens of thousands of employees. However, a company's reporting structure may not be strictly tied to its office locations. For example, a sales manager in Boston may oversee a sales team located throughout the company's New England offices. In such a case, team members located in Hartford, Conn. and New Haven, Conn. may work together to create a sales report for the entire state of Connecticut. However, it remains challenging and difficult to develop systems that allow users to collaborate on reports.